package com.lemon.reggie.service;

import com.lemon.reggie.pojo.dto.AddCartDTO;
import com.lemon.reggie.pojo.dto.SubCartDTO;
import com.lemon.reggie.pojo.entity.ShoppingCart;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lemon.reggie.pojo.vo.ShoppingCartVO;

import java.util.List;

/**
 * <p>
 * 购物车 服务类
 * </p>
 *
 * @author Lemon
 * @since 2022-05-23
 */
public interface ShoppingCartService extends IService<ShoppingCart> {

    /**
     * 添加购物车
     * @param addCartDTO
     * @return void
     * @author Guannankun
     * @since 2022/8/22
     */
    void addCart(AddCartDTO addCartDTO);

    /**
     * 获取当前用户购物车
     * @return java.util.List<com.lemon.reggie.pojo.vo.ShoppingCartVO>
     * @author Guannankun
     * @since 2022/8/22
     */
    List<ShoppingCartVO> listCart();

    /**
     * 减少购物车中的商品
     * @param subCartDTO
     * @return void
     * @author Guannankun
     * @since 2022/8/23
     */
    void subCart(SubCartDTO subCartDTO);

    /**
     * 清空当前用户的购物车
     * @param
     * @return void
     * @author Guannankun
     * @since 2022/8/28
     */
    void cleanCart();

}
